package de.tabuma.lib.contentmanagement.entity;

import java.util.*;
import java.lang.reflect.*;

/**
 * <p>Represents Datas that will be transmitted all the time when transaction is made.</p>
 * @author $Author: $
 * @version $Revision: $
 * @since $Date: $
 * @see Content
 */
public class StaticContent {

    /**
     * Class constructor
     */
    public StaticContent() {
        this.staticFieldTypes = new Vector<Integer>();
        this.staticFieldValues = new Vector<String>();
        this.staticFields = new Vector<Field>();
    }

    /**
     * List of fields that have static values.
     * @see FormContent#entityClass
     */
    private Vector<Field> staticFields;
    /**
     * Getting list of fields that have static values.
     * @return List of fields that have static values
     */
    public Vector<Field> getStaticFields() {
        return staticFields;
    }

    /**
     * Setting list of fields that have static values.
     * @param staticFields list of fields that have static values
     */
    public void setStaticFields(Vector<Field> staticFields) {
        this.staticFields = staticFields;
    }

    /**
     * Types of list of fields that have static values.
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_STRING
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_PASSWORD
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_TEXTAREA
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_INTEGER
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_DOUBLE
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_LIST
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_BOOLEAN
     */
    private Vector<Integer> staticFieldTypes;

    /**
     * Getting types of list of fields that have static values.
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_STRING
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_PASSWORD
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_TEXTAREA
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_INTEGER
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_DOUBLE
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_LIST
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_BOOLEAN
     * @return types of list of fields that have static values
     */
    public Vector<Integer> getStaticFieldsTyp() {
        return staticFieldTypes;
    }
    /**
     * Setting types of list of fields that have static values.
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_STRING
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_PASSWORD
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_TEXTAREA
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_INTEGER
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_DOUBLE
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_LIST
     * @see de.tabuma.lib.contentmanagement.constants#TYPE_BOOLEAN
     * @param staticFieldsTyp types of list of fields that have static values
     */
    public void setStaticFieldsTyp(Vector<Integer> staticFieldsTyp) {
        this.staticFieldTypes = staticFieldsTyp;
    }

    /**
     * Values of list of fields that have static values.
     */
    private Vector<String> staticFieldValues;
    /**
     * Getting values of list of fields that have static values
     * @return values of list of fields that have static values
     */
    public Vector<String> getStaticFieldsValue() {
        return staticFieldValues;
    }
    /**
     * Setting values of list of fields that have static values
     * @param staticFieldsValue values of list of fields that have static values
     */
    public void setStaticFieldsValue(Vector<String> staticFieldsValue) {
        this.staticFieldValues = staticFieldsValue;
    }
}